23 research outputs found
Families with infants: a general approach to solve hard partition problems
We introduce a general approach for solving partition problems where the goal
is to represent a given set as a union (either disjoint or not) of subsets
satisfying certain properties. Many NP-hard problems can be naturally stated as
such partition problems. We show that if one can find a large enough system of
so-called families with infants for a given problem, then this problem can be
solved faster than by a straightforward algorithm. We use this approach to
improve known bounds for several NP-hard problems as well as to simplify the
proofs of several known results.
For the chromatic number problem we present an algorithm with
time and exponential space for graphs of average
degree . This improves the algorithm by Bj\"{o}rklund et al. [Theory Comput.
Syst. 2010] that works for graphs of bounded maximum (as opposed to average)
degree and closes an open problem stated by Cygan and Pilipczuk [ICALP 2013].
For the traveling salesman problem we give an algorithm working in
time and polynomial space for graphs of average
degree . The previously known results of this kind is a polyspace algorithm
by Bj\"{o}rklund et al. [ICALP 2008] for graphs of bounded maximum degree and
an exponential space algorithm for bounded average degree by Cygan and
Pilipczuk [ICALP 2013].
For counting perfect matching in graphs of average degree~ we present an
algorithm with running time and polynomial
space. Recent algorithms of this kind due to Cygan, Pilipczuk [ICALP 2013] and
Izumi, Wadayama [FOCS 2012] (for bipartite graphs only) use exponential space.Comment: 18 pages, a revised version of this paper is available at
http://arxiv.org/abs/1410.220
Pure versus Impure Lisp
The aspect of purity versus impurity that we address involves the absence versus presence of mutation: the use of primitives (RPLACA and RPLACD in Lisp, set-car! and set-cdr! in Scheme) that change the state of pairs without creating new pairs. It is well known that cyclic list structures can be created by impure Lisp, but not by pure Lisp. In this sense, impure Lisp is “more powerful” than pure Lisp. If the inputs and outputs are restricted to be sequences of atomic symbols, however, this difference in computability disappears. We show that if the temporal sequence of input and output operations must be maintained (that is, if computations must be “on-line”), then a difference in complexity remains. We do this by comparing the power of pure and impure “Lisp machines.” We show that what an impure Lisp machine does in n steps (executions of primitive operations), a pure Lisp machine can do in O(n log n) steps, and that in some cases V(n log n) steps are necessary